home *** CD-ROM | disk | FTP | other *** search
/ Champak 50 / Volume 50 - JOGO DISK .iso / Games / moonstonemadness.swf / scripts / __Packages / Library / Sound / SoundManager.as < prev   
Encoding:
Text File  |  2007-09-27  |  9.1 KB  |  273 lines

  1. class Library.Sound.SoundManager
  2. {
  3.    static var aSounds;
  4.    static var mcAttach;
  5.    static var nSoundNum;
  6.    static var aSoundCategories;
  7.    static var nMasterVolume;
  8.    static var oEnterFrameListener;
  9.    static var EVENT_SOUND_COMPLETE = 1;
  10.    static var DEFAULT_CATEGORY = "SFX";
  11.    static var MAX_SOUNDS_PLAYING = 8;
  12.    static var bInited = false;
  13.    function SoundManager()
  14.    {
  15.    }
  16.    static function doPlaySound(__sLinkage, __nVolume, __nLoop, __bUnique)
  17.    {
  18.       return Library.Sound.SoundManager.doPlaySoundInCat(Library.Sound.SoundManager.DEFAULT_CATEGORY,__sLinkage,__nVolume,__nLoop,__bUnique);
  19.    }
  20.    static function doPlaySoundInCat(__sCategoryName, __sLinkage, __nVolume, __nLoop, __bUnique)
  21.    {
  22.       Library.Sound.SoundManager.doCheckInit();
  23.       var _loc1_ = undefined;
  24.       if(Library.Sound.SoundManager.NewSoundAllowed)
  25.       {
  26.          if(__nVolume == undefined)
  27.          {
  28.             __nVolume = 100;
  29.          }
  30.          if(__nLoop == undefined)
  31.          {
  32.             __nLoop = 1;
  33.          }
  34.          if(__bUnique == undefined)
  35.          {
  36.             __bUnique = false;
  37.          }
  38.          var _loc2_ = undefined;
  39.          if(__bUnique)
  40.          {
  41.             var _loc4_ = Library.Sound.SoundManager.isSoundPlaying(__sLinkage);
  42.             if(_loc4_.bPlaying)
  43.             {
  44.                _loc2_ = false;
  45.                _loc1_ = _loc4_.oSound;
  46.             }
  47.             else
  48.             {
  49.                _loc2_ = true;
  50.             }
  51.          }
  52.          else
  53.          {
  54.             _loc2_ = true;
  55.          }
  56.          if(_loc2_)
  57.          {
  58.             Library.Sound.SoundManager.doManageCategory(__sCategoryName);
  59.             var _loc5_ = Library.Sound.SoundManager.getMCForSound();
  60.             var _loc3_ = new Sound(_loc5_);
  61.             _loc3_.attachSound(__sLinkage);
  62.             if(_loc3_.duration != undefined)
  63.             {
  64.                _loc1_ = new Library.Sound.SoundItem(_loc3_,__sLinkage,__nVolume,__nLoop,__sCategoryName,_loc5_);
  65.             }
  66.             _loc1_.doAddListener(Library.Sound.SoundManager);
  67.             Library.Sound.SoundManager.aSounds.push(_loc1_);
  68.          }
  69.       }
  70.       return _loc1_;
  71.    }
  72.    static function isSoundPlaying(__sLinkageName)
  73.    {
  74.       var _loc1_ = new Object();
  75.       _loc1_.bPlaying = false;
  76.       _loc1_.oSound = undefined;
  77.       for(var _loc3_ in Library.Sound.SoundManager.aSounds)
  78.       {
  79.          if(Library.Sound.SoundManager.aSounds[_loc3_].LinkageName == __sLinkageName)
  80.          {
  81.             _loc1_.oSound = Library.Sound.SoundManager.aSounds[_loc3_];
  82.             _loc1_.bPlaying = true;
  83.          }
  84.       }
  85.       return _loc1_;
  86.    }
  87.    static function doManageExternalSound(__oSound)
  88.    {
  89.       Library.Sound.SoundManager.doCheckInit();
  90.       Library.Sound.SoundManager.doManageCategory(__oSound.Category);
  91.       __oSound.doAddListener(Library.Sound.SoundManager);
  92.       Library.Sound.SoundManager.aSounds.push(__oSound);
  93.    }
  94.    static function getMCForSound()
  95.    {
  96.       var _loc1_ = Library.Sound.SoundManager.getNextDepth();
  97.       var _loc2_ = Library.Sound.SoundManager.mcAttach.createEmptyMovieClip("Snd" + _loc1_,_loc1_);
  98.       return _loc2_;
  99.    }
  100.    static function getNextDepth()
  101.    {
  102.       Library.Sound.SoundManager.nSoundNum = Library.Sound.SoundManager.nSoundNum + 1;
  103.       return Library.Sound.SoundManager.nSoundNum;
  104.    }
  105.    static function get SoundsQty()
  106.    {
  107.       return Library.Sound.SoundManager.aSounds.length;
  108.    }
  109.    static function doInit(__mcAttach)
  110.    {
  111.       Library.Sound.SoundManager.mcAttach = __mcAttach;
  112.       if(!Library.Sound.SoundManager.bInited)
  113.       {
  114.          Library.Sound.SoundManager.bInited = true;
  115.          Library.Sound.SoundManager.nSoundNum = 0;
  116.          Library.Sound.SoundManager.aSounds = new Array();
  117.          Library.Sound.SoundManager.aSoundCategories = new Array();
  118.          Library.Sound.SoundManager.nMasterVolume = 100;
  119.          _global.mx.transitions.OnEnterFrameBeacon.init();
  120.          Library.Sound.SoundManager.oEnterFrameListener = new Object();
  121.          Library.Sound.SoundManager.oEnterFrameListener.onEnterFrame = Library.Utils.Delegate.create(Library.Sound.SoundManager,Library.Sound.SoundManager.doEnterFrame);
  122.          MovieClip.addListener(Library.Sound.SoundManager.oEnterFrameListener);
  123.       }
  124.    }
  125.    static function doEnterFrame()
  126.    {
  127.       for(var _loc1_ in Library.Sound.SoundManager.aSounds)
  128.       {
  129.          Library.Sound.SoundManager.aSounds[_loc1_].doEnterFrame();
  130.       }
  131.    }
  132.    static function setCategoryVolume(__sCategoryName, __nVol)
  133.    {
  134.       Library.Sound.SoundManager.doManageCategory(__sCategoryName);
  135.       for(var _loc3_ in Library.Sound.SoundManager.aSoundCategories)
  136.       {
  137.          if(Library.Sound.SoundManager.aSoundCategories[_loc3_].sName == __sCategoryName)
  138.          {
  139.             Library.Sound.SoundManager.aSoundCategories[_loc3_].nVolume = __nVol;
  140.          }
  141.       }
  142.       Library.Sound.SoundManager.doUpdateAllSoundsVolume();
  143.    }
  144.    static function getCategoryVolume(__sCategoryName)
  145.    {
  146.       Library.Sound.SoundManager.doManageCategory(__sCategoryName);
  147.       var _loc1_ = undefined;
  148.       for(var _loc3_ in Library.Sound.SoundManager.aSoundCategories)
  149.       {
  150.          if(Library.Sound.SoundManager.aSoundCategories[_loc3_].sName == __sCategoryName)
  151.          {
  152.             _loc1_ = Library.Sound.SoundManager.aSoundCategories[_loc3_].nVolume;
  153.          }
  154.       }
  155.       return _loc1_;
  156.    }
  157.    static function isCategoryMuted(__sCategoryName)
  158.    {
  159.       Library.Sound.SoundManager.doManageCategory(__sCategoryName);
  160.       var _loc1_ = undefined;
  161.       for(var _loc3_ in Library.Sound.SoundManager.aSoundCategories)
  162.       {
  163.          if(Library.Sound.SoundManager.aSoundCategories[_loc3_].sName == __sCategoryName)
  164.          {
  165.             _loc1_ = Library.Sound.SoundManager.aSoundCategories[_loc3_].bMuted;
  166.          }
  167.       }
  168.       return _loc1_;
  169.    }
  170.    static function doSoundEvent(__nEvent, __oSound)
  171.    {
  172.       if(__nEvent === Library.Sound.SoundManager.EVENT_SOUND_COMPLETE)
  173.       {
  174.          var _loc1_ = false;
  175.          for(var _loc3_ in Library.Sound.SoundManager.aSounds)
  176.          {
  177.             if(!_loc1_)
  178.             {
  179.                if(Library.Sound.SoundManager.aSounds[_loc3_] == __oSound)
  180.                {
  181.                   _loc1_ = true;
  182.                   delete Library.Sound.SoundManager.aSounds[_loc3_];
  183.                   Library.Sound.SoundManager.aSounds.splice(Number(_loc3_),1);
  184.                }
  185.             }
  186.          }
  187.       }
  188.    }
  189.    static function doMuteCategory(__sCategoryName)
  190.    {
  191.       for(var _loc2_ in Library.Sound.SoundManager.aSoundCategories)
  192.       {
  193.          if(Library.Sound.SoundManager.aSoundCategories[_loc2_].sName == __sCategoryName)
  194.          {
  195.             Library.Sound.SoundManager.aSoundCategories[_loc2_].bMuted = true;
  196.          }
  197.       }
  198.       Library.Sound.SoundManager.doUpdateAllSoundsVolume();
  199.    }
  200.    static function doUnMuteCategory(__sCategoryName)
  201.    {
  202.       for(var _loc2_ in Library.Sound.SoundManager.aSoundCategories)
  203.       {
  204.          if(Library.Sound.SoundManager.aSoundCategories[_loc2_].sName == __sCategoryName)
  205.          {
  206.             Library.Sound.SoundManager.aSoundCategories[_loc2_].bMuted = false;
  207.          }
  208.       }
  209.       Library.Sound.SoundManager.doUpdateAllSoundsVolume();
  210.    }
  211.    static function setMasterVolume(__nVol)
  212.    {
  213.       Library.Sound.SoundManager.nMasterVolume = __nVol;
  214.       Library.Sound.SoundManager.doUpdateAllSoundsVolume();
  215.    }
  216.    static function get NewSoundAllowed()
  217.    {
  218.       return Library.Sound.SoundManager.aSounds.length < Library.Sound.SoundManager.MAX_SOUNDS_PLAYING;
  219.    }
  220.    static function get MasterVolume()
  221.    {
  222.       return Library.Sound.SoundManager.nMasterVolume;
  223.    }
  224.    static function doRemoveListenerFromAllSounds(__oListener)
  225.    {
  226.       for(var _loc2_ in Library.Sound.SoundManager.aSounds)
  227.       {
  228.          Library.Sound.SoundManager.aSounds[_loc2_].doRemoveListener(__oListener);
  229.       }
  230.    }
  231.    static function doDestroy()
  232.    {
  233.       Library.Sound.SoundManager.doRemoveListenerFromAllSounds();
  234.       for(var _loc1_ in Library.Sound.SoundManager.aSounds)
  235.       {
  236.          Library.Sound.SoundManager.aSounds[_loc1_].doDestroy();
  237.       }
  238.    }
  239.    static function doUpdateAllSoundsVolume()
  240.    {
  241.       for(var _loc1_ in Library.Sound.SoundManager.aSounds)
  242.       {
  243.          Library.Sound.SoundManager.aSounds[_loc1_].doUpdateSound();
  244.       }
  245.    }
  246.    static function doCheckInit()
  247.    {
  248.       if(Library.Sound.SoundManager.bInited)
  249.       {
  250.       }
  251.    }
  252.    static function doManageCategory(__sCategoryName)
  253.    {
  254.       Library.Sound.SoundManager.doCheckInit();
  255.       var _loc1_ = false;
  256.       for(var _loc4_ in Library.Sound.SoundManager.aSoundCategories)
  257.       {
  258.          if(Library.Sound.SoundManager.aSoundCategories[_loc4_].sName == __sCategoryName)
  259.          {
  260.             _loc1_ = true;
  261.          }
  262.       }
  263.       if(!_loc1_)
  264.       {
  265.          var _loc3_ = new Object();
  266.          _loc3_.sName = __sCategoryName;
  267.          _loc3_.nVolume = 100;
  268.          _loc3_.bMuted = false;
  269.          Library.Sound.SoundManager.aSoundCategories.push(_loc3_);
  270.       }
  271.    }
  272. }
  273.